package com.ruoyi.admin.service.document;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.admin.domain.LlmDocumentSegments;
import com.ruoyi.admin.domain.LlmDocuments;

import java.util.List;
import java.util.Map;

public interface ILlmDocumentSegmentsService {

    /**
     * 插入对象
     *
     * @param segmentMeta    切片元数据
     * @param segmentContent 原文
     * @param documents      文档对象
     * @return boolean
     */
    boolean insert(Map<String, String> segmentMeta,
                   String segmentContent,
                   LlmDocuments documents);

    /**
     * 通过id 查询所有文档切片
     *
     * @param id      文档id
     * @param keyword 关键字
     * @return 切片对象
     */
    List<LlmDocumentSegments> getDocumentsSegments(String id, String keyword);


    /**
     * 修改切片原文
     *
     * @param segment 切片对象
     * @return boolean
     */
    boolean edit(LlmDocumentSegments segment);


    /**
     * 修改标签
     *
     * @param segment 切片对象
     * @return boolean
     */
    boolean editLabelData(LlmDocumentSegments segment);

    /**
     * 通过json 字段来过滤数据库
     *
     * @param jsonObject json 字段
     * @return 所有需要查询的elementId
     */
    List<Long> getIdsLabelData(JSONObject jsonObject);


    /**
     * 通过id 获取切片详细信息
     *
     * @param id 切片id
     * @return 切片对象
     */
    LlmDocumentSegments detail(String id);

}
